package com.jic.order.service;

import com.jic.common.base.vo.Page;
import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.order.entity.OrderAfterSaleApplyModel;
import com.jic.order.request.OrderAfterSaleApplyBatchRequest;
import java.util.Map;

/**
 * 订单售后申请 服务类
 *
 * @author xuyongliang
 * @since 2020-02-01
 */

public interface OrderAfterSaleApplyService {

	/**
	 * 订单售后申请 新增
	 *
	 * @param modelEntity
	 */
	Integer orderAfterSaleApplyAdd(OrderAfterSaleApplyModel modelEntity);

	/**
	 * 订单售后申请 批量新增
	 *
	 * @param modelEntity
	 */
	RestResult<String> orderAfterSaleApplyBatchAdd(OrderAfterSaleApplyBatchRequest modelEntity);

	/**
	 * 订单售后申请 编辑
	 *
	 * @param modifyEntity
	 * @param whereCondition
	 */
	Integer orderAfterSaleApplyEdit(OrderAfterSaleApplyModel modifyEntity, OrderAfterSaleApplyModel whereCondition);

	/**
	 * 订单售后申请 删除
	 *
	 * @param \
	 */
	Integer orderAfterSaleApplyDelete(Map map);

	/**
	 * 订单售后申请 查询详情
	 *
	 * @param
	 */
	OrderAfterSaleApplyModel orderAfterSaleApplyQuery(Map map);


	/**
	 * 订单售后申请 分页查询
	 *
	 * @param
	 */
	PageResult<OrderAfterSaleApplyModel> orderAfterSaleApplyQueryPageList(OrderAfterSaleApplyModel modelEntity, Page pageQuery);

	/**
	 * 订单售后申请 修改单据状态
	 *
	 * @param \
	 */
	Integer orderAfterSaleApplyChangeStatus(Map map);

	/**
	 * 订单售后申请 修改审批状态
	 *
	 * @param \
	 */
	Integer orderAfterSaleApplyChangeApproveStatus(Map map);

	/**
	 * 订单某些售后状态数量
	 *
	 * @param memberId 用户id
	 */
	Integer orderAfterSaleApplyQueryStatusListCount(Long memberId);

	/**
	 * description: 订单售后退货
	 *
	 * @author: jackHe
	 * @time: 2020/5/7 16:09
	 */
	RestResult exchangeGoods(OrderAfterSaleApplyBatchRequest modelEntity);

	/**
	 * description: 订单售后修改
	 *
	 * @author: jackHe
	 * @time: 2020/5/7 16:09
	 */
	RestResult<String> orderAfterSaleUpdate(OrderAfterSaleApplyBatchRequest modelEntity);

    PageResult<OrderAfterSaleApplyModel> queryPage(OrderAfterSaleApplyModel orderAfterSaleApplyModel, Page pageQuery);
}